---
title: 'BambooHR (OAuth)'
sidebarTitle: 'BambooHR (OAuth)'
description: 'Integrate your application with the BambooHR API'
---
 
## 🚀 Quickstart

Connect to BambooHR (OAuth) with Nango and see data flow in 2 minutes.

<Steps>
    <Step title="Create the integration">
    In Nango ([free signup](https://app.nango.dev)), go to [Integrations](https://app.nango.dev/dev/integrations) -> _Configure New Integration_ -> _BambooHR (OAuth)_.

    <Note>
      BambooHR requires a subdomain for authentication. You'll need to provide your BambooHR subdomain when creating connections.
    </Note>
    </Step>
    <Step title="Authorize BambooHR (OAuth)">
    Go to [Connections](https://app.nango.dev/dev/connections) -> _Add Test Connection_ -> _Authorize_, then enter your BambooHR subdomain and log in to BambooHR. Later, you'll let your users do the same directly from your app.
    </Step>
    <Step title="Call the BambooHR API">
    Let's make your first request to the BambooHR API (fetch employees information). Replace the placeholders below with your [secret key](https://app.nango.dev/dev/environment-settings), [integration ID](https://app.nango.dev/dev/integrations), and [connection ID](https://app.nango.dev/dev/connections):
    <Tabs>
            <Tab title="cURL">

                ```bash
                curl -X POST "https://api.nango.dev/proxy/v1/reports/custom?format=JSON" \
                  -H "Authorization: Bearer <NANGO-SECRET-KEY>" \
                  -H "Provider-Config-Key: <INTEGRATION-ID>" \
                  -H "Connection-Id: <CONNECTION-ID>" \
                  -H "Content-Type: application/json" \
                  -d '{
                      "title": "Current Employees",
                      "fields": [
                          "id",
                          "employeeNumber",
                          "firstName",
                          "lastName",
                          "dateOfBirth",
                          "address1",
                          "bestEmail"
                      ]
                    }'
                ```
            </Tab>

            <Tab title="Node">

            Install Nango's backend SDK with `npm i @nangohq/node`. Then run:

            ```typescript
            import { Nango } from '@nangohq/node';

            const nango = new Nango({ secretKey: '<NANGO-SECRET-KEY>' });

            const res = await nango.post({
                endpoint: '/v1/reports/custom',
                params: {
                    format: 'JSON'
                },
                providerConfigKey: '<INTEGRATION-ID>',
                connectionId: '<CONNECTION-ID>',
                data: {
                    "title": "Current Employees",
                    "fields": [
                        "id",
                        "employeeNumber",
                        "firstName",
                        "lastName",
                        "dateOfBirth",
                        "address1",
                        "bestEmail"
                    ]
                }
            });

            console.log(res.data);
            ```
            </Tab>

        </Tabs>
    Or fetch credentials with the [Node SDK](/reference/sdks/node#get-a-connection-with-credentials) or [API](/reference/api/connection/get).

    ✅ You're connected! Check the [Logs](https://app.nango.dev/dev/logs) tab in Nango to inspect requests.
    </Step>

    <Step title="Implement Nango in your app">
        Follow our [quickstart](/getting-started/quickstart/embed-in-your-app) to integrate Nango in your app.

        To obtain your own production credentials, follow the setup guide linked below.
    </Step>
</Steps>

## 📚 BambooHR (OAuth) Integration Guides

Nango maintained guides for common use cases.

- [How to register your own BambooHR OAuth app](/api-integrations/bamboohr/how-to-register-your-own-bamboohr-oauth-app)  
Register an OAuth app with BambooHR and obtain credentials to connect it to Nango

- [How do I link my BambooHR account?](/api-integrations/bamboohr/connect)
Learn how to authenticate with BambooHR and link your account

Official docs: [BambooHR API docs](https://documentation.bamboohr.com/docs/getting-started)

## 🧩 Pre-built syncs & actions for BambooHR (OAuth)

Enable them in your dashboard. [Extend and customize](/implementation-guides/building-integrations/extend-reference-implementation) to fit your needs.

import PreBuiltUseCases from "/snippets/generated/bamboohr/PreBuiltUseCases.mdx"

<PreBuiltUseCases />

---

